#include "Thread.hpp"
#include <unistd.h>

using namespace ThreadModlue;
//模拟多线程

//模拟单线程
int main()
{
    Thread t([](){
        while(true)
        {
            char name[128];
            pthread_getname_np(pthread_self(), name, sizeof(name));
            std::cout << "我是一个线程：" << name << std::endl;
            sleep(1);
            //一般来说 线程的名字是用来方便 debug的;
        }
    });
    
    t.Start();
    //t.Detach();

    sleep(5);
    t.Stop();

    //sleep(5);
    t.Join();
    
    return 0;
}

// Thread t([](){
    //     while(true)
    //     {
    //         char name[128];
    //         pthread_getname_np(pthread_self(), name, sizeof(name));
    //         std::cout << "我是一个新线程: " << name << std::endl; // 我的线程的名字是什么呀？debug
    //         sleep(1);
    //     }
    // });
    // t.Start();
    // t.Detach();
    // sleep(5);

    // t.Stop();

    // sleep(5);

    // t.Join();